This invention relates to the field of use of network devices. More particularly, the present invention relates to method and apparatus of handling data that is sent to non-existent destinations.
Organizations that have multiple locations with local area networks (LANs), also termed xe2x80x9ccampuses,xe2x80x9d may be interconnected by one or more wide area networks (WANs). WAN connections may run over media such as analog modem, leased line, integrated services digital network (ISDN), Frame Relay, switched multi-megabit data service (SMDS), X.25 and WAN asynchronous transfer mode (ATM).
Generally, a network device such as a switch may be used in a WAN as either an xe2x80x9cedgexe2x80x9d device to allow clients, servers, and LANs to communicate over the WAN, or a xe2x80x9ccorexe2x80x9d device to make up the WAN. Typically, edge switches contain at least one interface card for communicating with the WAN (e.g., a WAN interface), and one interface card for communicating with either a client, a server, or a LAN (e.g., a LAN interface). Core switches typically only contain WAN interfaces, also referred to as xe2x80x9cline cards,xe2x80x9d to connect to other core switches.
Each interface card has one switched port that includes one or more physical ports that may send or receive data, and the switch interconnects the physical ports to allow data received on a physical port on one interface card to be switched to a physical port on another interface card. For example, a physical port on a LAN interface may be connected to any physical port on a WAN interface. Similarly, a physical port on a WAN interface may be connected to any physical port on another WAN interface. Each physical port typically is identified as a xe2x80x9csourcexe2x80x9d port or a xe2x80x9cdestinationxe2x80x9d port, depending on whether the physical port is sending data or receiving data, respectively. Each switched port typically has a buffer for queuing data to be transmitted. For ATM, the data is segmented into xe2x80x9ccellsxe2x80x9d and the cells can be sent as bandwidth is available in a first in, first out, fashion.
To perform the switching, a switch may contain one or more switching elements, each of which is connected to all the ports in the switch and performs the switching between the ports. In addition, each switching element has an associated scheduler that controls the timing and scheduling of the switching. Each switching element and its associated scheduler is referred to as a xe2x80x9cswitch plane.xe2x80x9d Together, the set of switch planes is collectively known as a xe2x80x9cswitch fabric.xe2x80x9d
Each switch plane in the switch fabric operates independently of other switch planes, with no communication among the switch planes in the switch fabric. Each switch plane individually grants requests from the set of source ports in accordance with a predetermined algorithm. When a destination port is either congested (e.g., too much traffic directed at that physical port) or unreachable (e.g., the interface card containing that physical port has suffered a malfunction), the switch plane denies the granting of requests to that destination port. The cells in the buffer of the source port are transmitted if the congestion disappears or the malfunction is fixed.
If the destination port is unreachable for any reason (e.g., where the interface card containing the destination port is removed), then cells destined for that destination port continues to queue up and remain in the source port buffer. Cells that have been in the queue for some period of time and are unable to be transmitted are generally referred to as xe2x80x9cstale cells.xe2x80x9d These stale cells reduce the amount of buffer space available to other cells, and decrease the switching efficiency. In a worst case scenario, if a source port buffer becomes full, no further cells are able to be added to the queue and any additional cells directed to the buffer are discarded, effectively shutting down operation of the source port.
One traditional system of removing stale cells includes the use of a software or hardware cleaning agent on each source port to periodically poll the destination ports and determine if they are operational. If the cleaning agent discovers that a destination port is not available, the cleaning agent would remove cells destined for that port from the buffer associated with the cleaning agent.
One disadvantage of the cleaning agent is that the functioning of the cleaning agent consumes valuable processing time from the processor. Another disadvantage is that the system is very inefficient as valuable buffer resources are being consumed until the congestion is detected and cells are removed by the processor. Typically, the polling is a processor background process that occurs fairly infrequently compared to the speed of traffic that may cause the congestion. Thus, a cleaning agent is not usually real-time to minimize resource use.
It is therefore an intended advantage of one of the described embodiments to minimize the amount of buffer space used to store stale cells and increase overall efficiency of the switch by removing stored stale cells in a timely fashion.
It is a further intended advantage of the present invention to reduce the amount of processing needed to manage the removal of stale cells by providing information as to the status of the ports on the switch that are inactive and/or unreachable.
These and other intended advantages of the described embodiments are provided by detecting the status of a set of physical ports on an interface card in the network switch. If the status is determined to be in a first state that indicates that all physical ports in the interface card are inaccessible, then the network switch continues to accept all traffic for the set of physical ports.
The status may be in a first state due to either the interface being removed from the network switch or from the interface suffering a malfunction in hardware or software that is serious enough to disable all physical ports in the interface card.